package com.ruoyi.distributionPoster.service;

import java.util.List;
import com.ruoyi.distributionPoster.domain.DistributionPoster;
import com.ruoyi.distributionPoster.domain.QRCodeRequest;
import com.ruoyi.distributionPoster.domain.QRCodeResult;

/**
 * 分销海报记录Service接口
 *
 * @author ruoyi
 * @date 2025-11-21
 */
public interface IDistributionPosterService
{
    /**
     * 生成包含分销员信息和商品信息的二维码
     * @param qrCodeRequest 二维码请求参数
     * @return 二维码生成结果
     */
    QRCodeResult generateProductQRCode(QRCodeRequest qrCodeRequest);

    /**
     * 查询分销海报记录
     *
     * @param posterId 分销海报记录主键
     * @return 分销海报记录
     */
    public DistributionPoster selectDistributionPosterByPosterId(Long posterId);

    /**
     * 查询分销海报记录列表
     *
     * @param distributionPoster 分销海报记录
     * @return 分销海报记录
     */
    public List<DistributionPoster> selectDistributionPosterList(DistributionPoster distributionPoster);

    /**
     * 新增分销海报记录
     *
     * @param distributionPoster 分销海报记录
     * @return 结果
     */
    public int insertDistributionPoster(DistributionPoster distributionPoster);

    /**
     * 修改分销海报记录
     *
     * @param distributionPoster 分销海报记录
     * @return 结果
     */
    public int updateDistributionPoster(DistributionPoster distributionPoster);

    /**
     * 批量删除分销海报记录
     *
     * @param posterIds 需要删除的分销海报记录主键
     * @return 结果
     */
    public int deleteDistributionPosterByPosterIds(Long[] posterIds);

    /**
     * 删除分销海报记录信息
     *
     * @param posterId 分销海报记录主键
     * @return 结果
     */
    public int deleteDistributionPosterByPosterId(Long posterId);

    /**
     * 清理过期分销海报记录
     *
     * @return 清理结果信息
     */
    String cleanExpiredDistributionPosters();
}